home *** CD-ROM | disk | FTP | other *** search
- /ABdict 250 dict def
- ABdict begin
- /bdf
- {
- bind def
- }def
- /ldf
- {
- load def
- } bdf
- /edf
- {
- exch def
- } def
- /sput
- {
- exch def
- } def
- /inch
- {
- 72 mul
- } bdf
- %%GENERAL
- /i systemdict/image get def
- /iOR systemdict/imagemask get def
- /ncolors 0 def
- /st0 () def
- /st1 () def
- /proc0
- {
- }def
- /dot
- {
- dup mul exch dup mul add 1.0 exch sub
- } bdf
- /tan
- {
- dup sin exch cos div
- } bdf
- /setcmykcolor where not
- {
- /setcmykcolor
- {
- /b edf 3
- {
- b add 1.0 exch sub 0.0 max 1.0 min 3 1 roll
- }repeat systemdict begin setrgbcolor end
- }bdf
- }
- {
- pop
- }ifelse
- /rotateMAT
- {
- /theta sput
- /ax theta cos def /cy theta sin neg def
- /bx theta sin def /dy theta cos def
- [ax bx cy dy 0 0]
- }bdf
- /scaleMAT
- {
- /cy sput /ax sput
- [ax 0 0 cy 0 0]
- }bdf
- /skewHMAT
- {
- /theta sput
- /ax 1 def /cy theta tan def
- /bx 0 def /dy 1 def
- [ax bx cy dy 0 0]
- }bdf
- /skewVMAT
- {
- /theta exch def
- /ax 1 def /cy 0 def
- /bx theta tan def /dy 1 def
- [ax bx cy dy 0 0]
- }bdf
- /drawline
- {
- %% stack: bx cy ax dy
- /dy sput /ax sput
- /cy sput /bx sput
- gsave
- newpath
- bx cy moveto
- ax dy lineto
- pnh pnv eq
- {
- pnh setlinewidth stroke
- }
- {
- gsave 1 setlinewidth pnh pnv scale stroke grestore
- }ifelse
- grestore
- }bdf
- /framerect
- {
- /cy sput /ax sput
- /dy sput /bx sput
- gsave
- newpath
- bx dy moveto
- ax dy lineto
- ax cy lineto
- bx cy lineto
- closepath
- pnh pnv eq
- {
- pnh setlinewidth stroke
- }
- {
- gsave 1 setlinewidth pnh pnv scale stroke grestore
- }ifelse
- grestore
- }bdf
- /paintrect
- {
- /dy sput /ax sput
- /cy sput /bx sput
- gsave
- newpath
- bx cy moveto
- ax cy lineto
- ax dy lineto
- bx dy lineto
- closepath
- fill
- grestore
- }bdf
- /framerrect
- {
- /r sput
- /cy sput
- /ax sput
- /y sput
- /x sput
- /ax2 ax 2 div def
- /cy2 cy 2 div def
- gsave
- newpath
- x y translate
- 0 cy2 moveto
- % draw 1/4 rrect from ax/2,cy/2,ax/2,0,r
- ax2 cy2 ax2 0 r arcto
- 4
- {
- pop
- } repeat
- ax2 0 lineto
- % draw 1/4 rrect from ax/2,-cy/2,0,-cy/2,r
- ax2 cy2 neg 0 cy2 neg r arcto
- 4
- {
- pop
- } repeat
- 0 cy2 neg lineto
- % draw 1/4 rrect from -ax/2,-cy/2,-ax/2,0,r
- ax2 neg cy2 neg ax2 neg 0 r arcto
- 4
- {
- pop
- } repeat
- ax2 neg 0 lineto
- % draw 1/4 rrect from -ax/2,cy/2,0,cy/2,r
- ax2 neg cy2 0 cy2 r arcto
- 4
- {
- pop
- } repeat
- closepath
- pnh pnv eq
- {
- pnh setlinewidth stroke
- }
- {
- gsave 1 setlinewidth pnh pnv scale stroke grestore
- }ifelse
- grestore
- } bdf
- /paintrrect
- {
- /r sput
- /cy sput
- /ax sput
- /y sput
- /x sput
- /ax2 ax 2 div def
- /cy2 cy 2 div def
- gsave
- newpath
- x y translate
- 0 cy2 moveto
- % draw 1/4 rrect from ax/2,cy/2,ax/2,0,r
- ax2 cy2 ax2 0 r arcto
- 4
- {
- pop
- } repeat
- ax2 0 lineto
- % draw 1/4 rrect from ax/2,-cy/2,0,-cy/2,r
- ax2 cy2 neg 0 cy2 neg r arcto
- 4
- {
- pop
- } repeat
- 0 cy2 neg lineto
- % draw 1/4 rrect from -ax/2,-cy/2,-ax/2,0,r
- ax2 neg cy2 neg ax2 neg 0 r arcto
- 4
- {
- pop
- } repeat
- ax2 neg 0 lineto
- % draw 1/4 rrect from -ax/2,cy/2,0,cy/2,r
- ax2 neg cy2 0 cy2 r arcto
- 4
- {
- pop
- } repeat
- closepath
- fill
- grestore
- } bdf
- /framearc
- {
- /bx sput
- /ax sput
- /cy sput
- /dy sput
- /y sput
- /x sput
- /savemat matrix currentmatrix def
- newpath
- x y translate
- dy cy scale
- 0 0 1 ax bx arc
- savemat setmatrix
- pnh pnv eq
- {
- pnh setlinewidth stroke
- }
- {
- gsave 1 setlinewidth pnh pnv scale stroke grestore
- }ifelse
- }bdf
- /paintarc
- {
- /bx sput
- /ax sput
- /cy sput
- /dy sput
- /y sput
- /x sput
- /savemat matrix currentmatrix def
- newpath
- x y translate
- 0 0 moveto
- dy cy scale
- 0 0 1 ax bx arc
- closepoly
- savemat setmatrix
- fill
- }bdf
- /frameoval
- {
- /cy sput
- /dy sput
- /y sput
- /x sput
- /savemat matrix currentmatrix def
- gsave
- newpath
- x y translate
- dy cy scale
- 0 0 1 0 360 arc
- savemat setmatrix
- pnh pnv eq
- {
- pnh setlinewidth stroke
- }
- {
- gsave 1 setlinewidth pnh pnv scale stroke grestore
- }ifelse
- grestore
- }bdf
- /paintoval
- {
- /cy sput
- /dy sput
- /y sput
- /x sput
- gsave
- newpath
- x y translate
- dy cy scale
- 0 0 1 0 360 arc
- fill
- grestore
- } bdf
- /pt
- {
- lineto
- } bdf
- /mt
- {
- moveto
- } bdf
- /ct
- {
- curveto
- } bdf
- /framepoly
- {
- /fillflag 0 def
- newpath
- } bdf
- /paintpoly
- {
- /fillflag 1 def
- newpath
- } bdf
- /closepoly
- {
- closepath
- } bdf
- /polyend
- {
- fillflag 1 eq
- {
- eofill
- }
- {
- pnh pnv eq
- {
- pnh setlinewidth stroke
- }
- {
- gsave 1 setlinewidth pnh pnv scale stroke grestore
- }ifelse
- }ifelse
- } bdf
- /pensize
- {
- /pnv sput
- /pnh sput
- }bdf
- /dorotate
- {
- /ax sput
- /y sput
- /x sput
- gsave
- x y translate
- ax rotate
- }bdf
- /endrotation
- {
- grestore
- }bdf
- /doscale
- {
- /ax sput
- /bx sput
- gsave
- bx ax scale
- }bdf
- /endscaling
- {
- grestore
- }bdf
- /setlinestyle
- {
- setmiterlimit
- setlinejoin
- setlinecap
- }bdf
- /graylevel
- {
- User_pattern 1 eq
- {
- /User_pattern 0 def
- currentfrequence currentangle /currentproc load setscreen
- }if
- setgray
- }bdf
- /icomp
- {
- /ncolors edf
- ncolors 1 gt
- {
- /proc0 edf
- dup dup 0 get ncolors div cvi exch 0 3 -1 roll put
- 4 -1 roll ncolors div cvi 4 1 roll
- {
- proc0 dup/st0 edf
- 0 exch ncolors exch length
- dup ncolors sub exch ncolors div cvi string/st1 edf
- {
- dup 0 exch dup 1 exch
- 2 add
- {
- st0 exch get add
- }bind for
- 3 div ncolors 4 eq
- {
- exch dup 3 1 roll 3 add st0 exch get add 255 exch sub dup 0 lt
- {
- pop 0
- }if
- }if cvi
- dup 255 gt
- {
- pop 255
- }if
- exch ncolors div cvi exch
- st1 3 1 roll put
- }bind for
- st1
- }
- }if i
- }bdf
- %% width height xscale yscale xtran ytran im
- /im
- {
- translate
- scale
- /height edf
- /width edf
- /tbitstr width 7 add 8 div cvi string def
- width height 1 [width 0 0 height neg 0 height]
- {
- currentfile tbitstr readhexstring pop
- }bind
- i
- }bdf
- /imOR
- {
- translate
- scale
- /height edf
- /width edf
- /tbitstr width 7 add 8 div cvi string def
- width height true [width 0 0 height neg 0 height]
- {
- currentfile tbitstr readhexstring pop
- }bind
- iOR
- }bdf
- /ci
- {
- /colorimage where
- {
- pop false exch colorimage
- }
- {
- icomp
- }
- ifelse
- }bdf
- %%216 186 216 186 52 80 3 cm
- %% width height xscale yscale xtran ytran color cm
- /cm
- {
- /ncolors edf
- translate
- scale/height edf/colorimage where
- {
- pop
- }
- {
- ncolors mul
- }ifelse
- /width edf
- /tbitstr width string def
- width height 8 [width 0 0 height neg 0 height]
- {
- currentfile tbitstr readhexstring pop
- }bind
- ncolors
- dup 3 eq
- {
- ci
- }
- {
- icomp
- }ifelse
- }bdf
- /resetfontflags
- {
- /plain 0 def
- /bold 0 def
- /italic 0 def
- /underline 0 def
- /outline 0 def
- /shadow 0 def
- /condense 0 def
- /extended 0 def
- }bdf
- /boldthick
- {
- bold 1 eq
- {
- fontsize 100 div %% 40
- }
- {
- fontsize 140 div %% 55
- }ifelse
- }bdf
- /textshow
- {
- /text sput
- underline 1 eq
- {
- gsave
- fontsize 14 div setlinewidth
- currentpoint fontsize 8 div sub moveto % Just to control the start
- currentpoint exch text stringwidth pop add exch lineto stroke
- grestore
- }if
- shadow 1 eq
- {
- gsave
- boldthick setlinewidth
- text true charpath gsave 0 setgray fill grestore stroke
- grestore
- gsave
- currentpoint fontsize 18 div add exch fontsize 18 div sub exch moveto
- boldthick bold 1 eq{1.3 mul}if setlinewidth
- text true charpath gsave 1 setgray fill grestore stroke
- grestore
- text stringwidth rmoveto
- }if
- outline 1 eq
- {
- gsave
- boldthick bold 1 eq {1.3 mul} if setlinewidth
- text true charpath gsave 1 setgray fill grestore stroke
- grestore
- text stringwidth rmoveto
- }if
- bold 1 eq
- {
- outline 0 eq shadow 0 eq and
- {
- gsave
- boldthick setlinewidth
- text true charpath gsave 0 setgray fill grestore stroke
- grestore
- text stringwidth rmoveto
- }if
- }
- {
- outline 0 eq shadow 0 eq and
- {
- text show
- }if
- }ifelse
- }bdf
-
- /settextstyle
- {
- resetfontflags
- counttomark /temp sput /temp temp 2 sub def
- temp
- {
- dup (plain) eq
- {
- /plain 1 def pop
- }if
- dup (bold) eq
- {
- /bold 1 def pop
- }if
- dup (underline) eq
- {
- /underline 1 def pop
- }if
- dup (italic) eq
- {
- /italic 1 def pop
- }if
- dup (outline) eq
- {
- /outline 1 def pop
- }if
- dup (shadow) eq
- {
- /shadow 1 def pop
- }if
- dup (condence) eq
- {
- /condence 1 def pop
- }if
- dup (extended) eq
- {
- /extended 1 def pop
- }if
- }repeat
- /fontsize sput
- /fontname sput
- fontname findfont fontsize scalefont ABdict /italic get 1 eq
- {
- 15 skewHMAT makefont
- }if setfont
- }bdf
-
- /bitison
- {
- /bstring exch def /bwidth exch def
- /ybit exch def /xbit exch def
- bstring ybit bwidth mul
- xbit 8 idiv add get
- 1 7 xbit 8 mod sub bitshift
- and 0 ne
- } bdf
- /setpattern
- {
- /freq 12 def
- /bwidth 1 def
- /bpside 8 def
- /bstring exch def
- /onbits 0 def /offbits 0 def /User_pattern 1 def%%
- freq 0%Here, we begin to set up the arguments to `setscreen'.%
- {
- /y exch def /x exch def%This begins the screen function argument
- %to `setscreen'.%
- /xindex x 1 add 2 div%First, we transform the (x, y) position
- bpside mul cvi def
- /yindex y 1 add 2 div
- bpside mul cvi def%%
- xindex yindex bwidth bstring bitison
- {
- /onbits onbits 1 add def 1
- }%If that bit is on, count it and
- {
- /offbits offbits 1 add def%If that bit is off, count it and
- 0
- }
- ifelse
- } setscreen
- {
- } settransfer
- offbits offbits onbits add div
- setgray
- } def
- end
- %%EndProcSet
- %%BeginSetup
- ABdict begin
- 0 setlinecap
- 0 setlinejoin
- 4 setmiterlimit
- [] 0 setdash
- /currentx.rot 0 def
- /currenty.rot 0 def
- currentscreen /currentproc edf/currentangle edf/currentfrequence edf
- /pat <d1e3c5885c3e1d88> def
- /User_pattern 1 def
- 0 graylevel
- resetfontflags
- end
- %%EndSetup
-